<?php
//======================================================================================
//
// Function: Get hub_log => DATA-HUB - HUB_LOG
//
// Programmer: AR
// Date : 2024-07-18
//
// Copyright Reeft A/S (c) - 2024
//======================================================================================
// datatables parameters:
// https://datatables.net/manual/server-side
//======================================================================================
// General config
//======================================================================================
include "config/config.php";
//======================================================================================
// Set language
//======================================================================================
include "include/set_language.php";
//======================================================================================
// Get input
//======================================================================================
//$mySession = print_r($_REQUEST, true);
//error_log(date("Y-m-d H:i:s") . " _REQUEST - " . $mySession . " \n ",3,"__elog.txt"); //Anja
if (isset($_REQUEST["fromdate"])) {
$fromdate = strtoupper($_REQUEST["fromdate"]);
} else {
$fromdate = '';
}
if (isset($_REQUEST["fromtime"])) {
$fromtime = strtoupper($_REQUEST["fromtime"]);
} else {
$fromtime = '';
}
if (isset($_REQUEST["todate"])) {
$todate = strtoupper($_REQUEST["todate"]);
} else {
$todate = '';
}
if (isset($_REQUEST["totime"])) {
$totime = strtoupper($_REQUEST["totime"]);
} else {
$totime = '';
}
if (isset($_REQUEST["myPageGoTo"])) {
$myPageGoTo = $_REQUEST["myPageGoTo"];
} else {
$myPageGoTo = 0;
}
if (isset($_REQUEST["rpyOffSet"])) {
$rpyOffSet = $_REQUEST["rpyOffSet"];
} else {
$rpyOffSet = 0;
}
if (isset($_REQUEST["rpyPageSize"])) {
$rpyPageSize = $_REQUEST["rpyPageSize"];
} else {
$rpyPageSize = 0;
}
//===============================================================
// Datatables input, will overrule "orgainal" fields if found
//===============================================================
if (isset($_REQUEST["start"])) {
$dataTablesOffset = $_REQUEST["start"];
} else {
$dataTablesOffset = 0;
}
if (isset($_REQUEST["length"])) {
$dataTablesPageLength = $_REQUEST["length"];
} else {
$dataTablesPageLength = 0;
}
if (isset($_REQUEST["search"]["value"])) {
$search_arg = $_REQUEST["search"]["value"];
} else {
$search_arg = '';
}
if (isset($_REQUEST['draw'])) {
$draw = $_REQUEST['draw'];
} else {
$draw = 1;
}
if (isset($_REQUEST["order"][0])) {
$rpyOrderColumn = '';
foreach ($_REQUEST["order"] as $key => &$tmpArr) {
$order_column_index = $tmpArr["column"];
$order_column_dir = $tmpArr["dir"];
if ($key == 0) $rpyOrderColumn = $_REQUEST["columns"][$order_column_index]["data"] . "|" . strtoupper($order_column_dir);
else $rpyOrderColumn .= "," . $_REQUEST["columns"][$order_column_index]["data"] . "|" . strtoupper($order_column_dir);
}
} else {
$rpyOrderColumn = '';
}
//$search_arg = urldecode($search_arg);
$search_arg = str_replace(' ', "|", $search_arg);
//======================================================================================
// Get input and validate
// Note datatable fields will override 2orginal" ones
//======================================================================================
if ( $dataTablesPageLength > 0 ) {
$rpyPageSize = $dataTablesPageLength;
}
if ( $dataTablesOffset >= 0 ) {
$rpyOffSet = $dataTablesOffset;
}
//======================================================================================
// Get session variables
//======================================================================================
include "include/getsession.php";
//======================================================================================
// Set language
//======================================================================================
include "include/set_language.php";
//======================================================================================
// Connect to SQLite database in file
//======================================================================================
$entries_found = 0;
$returnCode = '99';
$returnMsg = 'No data found';
$currentDate = date('Y-m-d');
$currentTime = date('H:i:s');
//======================================================================================
// Set header
//======================================================================================
header('Content-Type: application/json;charset=utf-8');
//======================================================================================
// Get time stamp
//======================================================================================
$timeStamp = '';
if ( $timeStamp == '' ) {
$now = DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''));
$timeStamp = $now->format("Y-m-d H:i:s");
}
$data = array(
"timestamp" => $timeStamp,
"myPageGoTo" => $myPageGoTo,
"rpyOffSet" => $rpyOffSet,
"rpyPageSize" => $rpyPageSize,
"rpyOrderColumn" => $rpyOrderColumn
);
if (trim($fromdate) != '') $data["fromdate"] = $fromdate;
if (trim($fromtime) != '') $data["fromtime"] = $fromtime;
if (trim($todate) != '') $data["todate"] = $todate;
if (trim($totime) != '') $data["totime"] = $totime;
// print_r($data);
// echo $search_arg;
// exit;
//======================================================================================
// Make call to API somewhere
//======================================================================================
$jsonData = json_encode($data);
//header('Content-Type: application/json');
$json_pretty = json_encode(json_decode($jsonData), JSON_PRETTY_PRINT);
// echo $json_pretty;
// echo "<br>";
// echo $url;
$headers = array(
"Content-type: Content-Type:application/json",
"User-Agent: DATA-HUB 1.0",
"APIKEY: $DFT_API_KEY"
);
$parms = '?'
. 'myPageGoTo=' . $myPageGoTo
. '&rpyOffSet=' . $rpyOffSet
. '&rpyPageSize=' . $rpyPageSize
. '&rpySearchArg=' . $search_arg
. '&rpyOrderColumn=' . $rpyOrderColumn
;
//if (trim($timesort) != '') $parms .= '×ort=' . strtoupper(trim( $timesort ));
if (trim($fromdate) != '') $parms .= '&fromdate=' . trim( $fromdate );
if (trim($fromtime) != '') $parms .= '&fromtime=' . trim( $fromtime );
if (trim($todate) != '') $parms .= '&todate=' . trim( $todate );
if (trim($totime) != '') $parms .= '&totime=' . trim( $totime );
// Set URL
$url = $DFT_WEBSERVICE_URL_DATAHUB . '/' . 'hub_log';
// Add parms
$url = $url . $parms;
//echo $url;
// Create a new cURL resource
$ch = curl_init($url);
// Attach encoded JSON string to the POST fields
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
// Set the content type to application/json
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
// Return response instead of outputting
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, false);
//curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
curl_setopt($ch, CURLOPT_HEADER, false); // we do not need headers
curl_setopt($ch, CURLOPT_NOBODY, false); // we don't need body
// Execute the GET request
$result = curl_exec($ch);
$ary = curl_getinfo($ch);
// Close cURL resource
curl_close($ch);
$data = json_decode($result, true);
$returnResult = [];
$returnResult["header"] = $data['header'];
$returnResult["header_buttons"] = $data['header_buttons'];
$returnResult["data"] = $data['detail'];
$returnResult["draw"] = intval( $draw );
$returnResult["recordsTotal"] = intval( $data['header']['myTableRecordsFound'] );
$returnResult["recordsFiltered"] = intval( $data['header']['myTotalRecordsFound'] );
echo json_encode($returnResult);
?>